home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / basic / imb9108.zip / LJPRINT.BAS < prev    next >
BASIC Source File  |  1991-06-21  |  3KB  |  103 lines

  1. DECLARE SUB LjBox (LjX!, LjY!, LjWidth!, LjHeight!, LjThick!, LjLineFillPat$, LjBoxFillPat$)
  2. DECLARE SUB LjEject ()
  3. DECLARE SUB LjFill (LjX!, LjY!, LjWidth!, LjHeight!, LjFillPat$)
  4. DECLARE SUB LjGoToXY (LjX!, LjY!)
  5. DECLARE SUB LjLine (LjX!, LjY!, LjLength!, LjThick!, LjFillPat$, LjOr$)
  6. DECLARE SUB LjSay (LjR!, LjC!, Text$)
  7. DECLARE FUNCTION RStr$ (A!)
  8.  
  9. COMMON SHARED Esc$: Esc$ = CHR$(27)
  10.  
  11. WIDTH LPRINT 255
  12.  
  13. 'Print sample boxes and text
  14.  
  15. LjBox 1!, 1.1, 4!, .3, .01, "100", "10"
  16.   LjSay 7, 11, "COSTCODES"
  17.  
  18. LjBox 1!, 1.45, 4!, .6, .01, "100", ""
  19.   LjSay 9, 11, "Costcode...:"
  20.   LjSay 9, 24, "OI81"
  21.   LjSay 10, 11, "Department.:"
  22.   LjSay 10, 24, "X267"
  23.   LjSay 11, 11, "Location...:"
  24.   LjSay 11, 24, "45"
  25.  
  26. LjEject
  27.  
  28. END
  29.  
  30. SUB LjBox (LjX!, LjY!, LjWidth!, LjHeight!, LjThick!, LjLineFillPat$, LjBoxFillPat$)
  31.  
  32.   LjBoxFillPat$ = UCASE$(LjBoxFillPat$)
  33.   LjLineFillPat$ = UCASE$(LjLineFillPat$)
  34.  
  35.   LjLine LjX!, LjY!, LjWidth!, LjThick!, LjLineFillPat$, "H"   'Top
  36.   LjLine LjX!, LjY!, LjHeight!, LjThick!, LjLineFillPat$, "V"  'Left
  37.   LjLine (LjX! + (LjWidth! - LjThick!)), LjY!, LjHeight!, LjThick!, LjLineFillPat$, "V"                                  'Right
  38.   LjLine LjX!, (LjY! + (LjHeight! - LjThick!)), LjWidth!, LjThick!, LjLineFillPat$, "H"                                  'Bottom
  39.  
  40. 'Fill the Box
  41.  
  42.   IF LjBoxFillPat$ <> "" THEN
  43.     LjFill LjX!, LjY!, LjWidth!, LjHeight!, LjBoxFillPat$
  44.   END IF
  45.  
  46. END SUB
  47.  
  48. SUB LjEject
  49.   LPRINT CHR$(12)
  50. END SUB
  51.  
  52. SUB LjFill (LjX!, LjY!, LjWidth!, LjHeight!, LjFillPat$)
  53.  
  54.   LjGoToXY LjX!, LjY!
  55.  
  56.   Sj$ = Esc$ + "*c" + STR$(300! * LjWidth!) + "a" + STR$(300! * LjHeight!) + "b"
  57.  
  58.   IF LEFT$(LjFillPat$, 1) = "#" THEN
  59.     Sj$ = Sj$ + RIGHT$(LjFillPat$, 1) + "g3P"
  60.   END IF
  61.  
  62.   IF VAL(LjFillPat$) <> 0 THEN
  63.     Sj$ = Sj$ + LjFillPat$ + "g2P"
  64.   END IF
  65.  
  66.   LPRINT Sj$;
  67.  
  68. END SUB
  69.  
  70. SUB LjGoToXY (LjX!, LjY!)
  71.  
  72.   Sj$ = Esc$ + "*p" + STR$(300! * LjX!) + "x" + STR$(300! * LjY!) + "Y"
  73.   LPRINT Sj$;
  74. END SUB
  75.  
  76. SUB LjLine (LjX!, LjY!, LjLength!, LjThick!, LjFillPat$, LjOr$)
  77.  
  78.   IF UCASE$(LjOr$) = "V" THEN
  79.     LjFill LjX!, LjY!, LjThick!, LjLength!, LjFillPat$
  80.   ELSE
  81.     LjFill LjX!, LjY!, LjLength!, LjThick!, LjFillPat$
  82.   END IF
  83.  
  84. END SUB
  85.  
  86. SUB LjReset
  87.   LPRINT Esc$; "E";
  88. END SUB
  89.  
  90. SUB LjSay (LjR!, LjC!, Text$)
  91.  
  92.   Rj$ = STR$(LjR!)
  93.   Cj$ = STR$(LjC!)
  94.   Sj$ = Esc$ + "&a" + Rj$ + "r" + Cj$ + "C" + Text$
  95.   LPRINT Sj$
  96.  
  97. END SUB
  98.  
  99. FUNCTION RStr$ (A!)
  100.   RStr$ = LTRIM$(STR$(A!))
  101. END FUNCTION
  102.  
  103.